Qt5.2文档翻译:QUrl类,QUrl Class
通过解析参数 url 的内容来构造一个URL。 QUrl 会自动地将所有不允许在URL 中出现的字符进行百分号编码,还会 将所有表示非保留字(字母 、数字、 连字符、下划线、小数点和波浪 线 )的百分号编码序列进行解码 。其它 的字符都会原样保留。
使用指定 的解析模式 parsingMode 来解析 url 。 在 TolerantMode (默认模式) 下, QUrl 会修复特定的错误,尤其是后面 没有跟有两个十六进制数字 的百分号('%'),并且 它会接受任意位置的任意字符。 在 StrictMode 模式 下,那些编码错误 不会被容忍,并且, QUrl 还会做一些检查,以确保,特定 的禁止字符不要在未编码的形式中出现。如果 在 StrictMode 模式下检测到了错误,则, isValid () 会返回假(false)。 在这个上下文中, DecodedMode 这种解析模式是不允许使用的。
示例:
QUrl url ("http://www.example.com/List of holidays.xml");
// url.toEncoded() == "http://www.example.com/List%20of%20holidays.xml"
要想用一个已被编码的字符串来构造一个URL 的话,则 还 可使用 fromEncoded ():
QUrl url = QUrl :: fromEncoded ("http://qt-project.org/List%20of%20holidays.xml");
两个函数 是等价的,并且,在 Qt 5 中,两个函数都接受已编码的数据。通常情况 下 , 可以根据源数据来决定,究竟是使用 QUrl 构造函数 、 setUrl ()函数还是 fromEncoded ()函数:构造函数 和 setUrl () 的参数都是一个 QString ,而 fromEncoded函数 的参数是一个 QByteArray 。
参考 setUrl () 、 fromEncoded () 和 TolerantMode 。
如果 该 URL 是有效的,则返回它的百分号编码结果;否则 ,返回一个空的 QByteArray 。 可通过 options 传入各个标志位来对输出内容进行自定义。
用户信息、路径和片断都会被转换为UTF-8,然后,所有的非ASCII字符都会被进行百分号编码。主机名会使用 Punycode 来编码。
未知美人
Your opinions
HxLauncher: Launch Android applications by voice commands